Signature Definition
URI
/trustedx-resources/esignsp/v2/documents/{document_id}/signers/{signature_definition_id}Description
Definition of a document signature. A signature definition always forms part of a document and signature definitions resource and is applied to the document that this resource also contains.
Representation
A signature definition is represented in JSON as follows:
{ "id" : {string}, "self" : {string}, "signature_policy_id" : {string}, "parameters" : {Parameters}, "to_be_signed" : { "digest" : { "algorithm" : {string}, "value" : {string} } }, "signature" : {string}, "to_be_timestamped" : { "type": {string}, "digest_algorithm": {string}, "digest_value": {string} }, "timestamps" : [{string}] "timestamps" : [{ "type" : {string}, "timestamp": {string} }]} }|
Property |
Description |
|
id |
Identifier of the signature definition. This property is optional and only present when the representation is for an already created resource. |
|
self |
URL of the signature definition. This property is optional and only present when the representation is for an already created resource. |
|
signature_policy_id |
Type of signature defined:
|
|
parameters |
Characteristics of the signature defined. This property is optional, although it is necessary for executing the obtain the hash of the document in accordance with a signature definition operation on the resource. The value of this property is represented in JSON as explained in:
The default behavior when this property (or any of its characteristics) is not present is described in Behavior for When Parameters Are Missing from the Signature Definition). |
|
to_be_signed |
Information for calculating the digital signature (PKCS #1) of the document to which the signature definition is applied. This property is optional and is only present after the obtain the hash of the document in accordance with a signature definition operation is executed on the resource. |
|
to_be_signed.digest |
Information on the hash used to obtain the digital signature (PKCS #1) of the document to which the signature definition is applied. |
|
to_be_signed.digest.algorithm |
Hash algorithm. The value of this property can be "sha1", "sha256", "sha384" or "sha512". |
|
to_be_signed.digest.value |
Hash of the document to which the signature definition is applied, encoded in base64 (the attributes signed are also taken into account in this hash). |
|
signature |
Digital signature (PKCS #1) of the document to which the signature definition is applied, encoded in base64. This property is optional and only present after its value has been provided using the update signature definition operation. |
|
to_be_timestamped |
Information on the hash used to obtain the time-stamp of the signature for the signature definition. This property is optional and only present when requested by the obtain the hash of a signature for requesting a time-stamp operation. |
|
to_be_timestamped.type |
Always has the value "message_imprint". |
|
to_be_timestamped.digest_algorithm |
Hash algorithm. The value of this property can be "sha1", "sha256", "sha384" or "sha512". |
|
to_be_timestamped.digest_value |
Hash of the signature that corresponds to the signature definition. |
|
timestamps[] |
Time-stamps of the signature that corresponds to the signature definition. Currently only one time-stamp is supported. This property is optional and only present after the time-stamp of a signature is provided via the update a signature definition operation or via a process started by a create a document signature process operation in which a time-stamp policy was requested. |
|
timestamps[0].type |
Type of signature time-stamp. Always has the value "rfc3161_timestamp_token". |
|
timestamps[0].tiemstamp |
Base64 encoding of the signature time-stamp. This time-stamp is always in RFC 3161 format. |
Parameters Property (PDF/PAdES Signatures)
The parameters property is represented in JSON as follows:
{ "type" : {string}, "certificate": {string}, "chain_certificates": [{string}], "default_digest_algorithm" : {string}, "estimated_signature_size" : {number}, "certification_level" : {number}, "contact_info" : {string}, "location" : {string}, "reason" : {string}, "signature_field" : { "name" : {string}, "location" : { "page" : { "number" : {string} }, "rectangle" : { "x" : {number}, "y" : {number}, "height" : {number}, "width" : {number} } }, "appearance" : { "background_image" : { "file" : {string}, "binary" : {string} }, "foreground_image" : { "file" : {string}, "binary" : {string} }, "signature_details" : {SignatureDetails} } }, "policy_identifier" : { "policy_id" : { "oid" : {string} } "policy_hash" : { "digest_algorithm_identifier" : { "id" : {string} }, "digest_value" : {string} }, "policy_qualifiers" : [ { "type" : {string}, "uri" : {string} } ] }, "commitments" : [ { "type" : {string}, "oid" : {string} } ] "roles" : { "claimed" : [{string}] }, "signed_attributes" : [ { "type" : {string}, "oid" : {string}, "encoded" : {string} } ], "unsigned_attributes" : [ { "type" : {string}, "oid" : {string}, "encoded" : {string} } ]}|
Property |
Description |
|
type |
Signature type :
|
|
certificate |
Signer's certificate encoded in base64. This property is optional although necessary for executing the obtain the hash of the document in accordance with a signature definition operation on the resource. |
|
chain_certificates[] |
The signer's certificate chain encoded in base64, and non-including the root certificate. |
|
default_digest_algorithm |
Hash algorithm used to obtain the digital signature (PKCS #1) of the document. This property is optional and its value can be "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value. |
|
estimated_signature_size |
Maximum size of the signature in bytes. TRIDENT reserves sufficient space in the document for storing a signature of this size. This property is optional. |
|
certification_level |
Indication on whether the signature is a certification signature. This property is optional and its value can be:
|
|
contact_info |
The signer's contact details. This property is optional. |
|
location |
Where the document is signed. This property is optional. |
|
reason |
Reason why the document is being signed. This property is optional. |
|
signature_field |
Signature field information. This property is optional. |
|
signature_field.name |
Name of the signature field. This property is optional. Its default value is "SFLY Signature <seq>", where seq is the next number in the sequence of all the fields whose names have this format (the first field in the sequence takes the number 0). |
|
signature_field.location |
Location of the signature field in the document. This property is optional. |
|
signature_field.location.page |
Information on the page in which the signature field is located. |
|
signature_field.location.page.number |
Number of the page where the signature field is located. The "last" value denotes the last page of the document. |
|
signature_field.location.rectangle |
Position and dimensions of the signature field, expressed in user units (see ISO 32000-1), within the page in which it is located. As a reference, on an A4 page where the user unit is 1, the rectangle that corresponds to the whole page has a size of 595 by 842 user units. |
|
signature_field.location.rectangle.x |
Horizontal coordinate of the lower left corner of the signature field in the page where it is located. |
|
signature_field.location.rectangle.y |
Vertical coordinate of the lower left corner of the signature field in the page where it is located. |
|
signature_field.location.rectangle.height |
Height of the signature field. |
|
signature_field.location.rectangle.width |
Width of the signature field. |
|
signature_field.appearance |
Information on the signature appearance. This property is optional. |
|
signature_field.appearance.background_image |
Background image of the signature appearance. This property is optional in the appearance property. |
|
signature_field.appearance.background_image.file |
Complete path, in the TRIDENT's file system, of the background image of the signature appearance. This property is optional but must be present if the appearance.background_image.binary property is not. |
|
signature_field.appearance.background_image.binary |
Base64 encoding of the background image of the signature appearance. JPEG and PNG images are supported. This property is optional but must be present if the appearance.background_image.file property is not. |
|
signature_field.appearance.foreground_image |
Foreground image of the signature appearance. This property is optional in the appearance property. |
|
signature_field.appearance.foreground_image.file |
Complete path, in the TRIDENT's file system, of the foreground image of the signature appearance. This property is optional but must be present if the appearance.foreground_image.binary property is not. |
|
signature_field.appearance.foreground_image.binary |
Base64 encoding of the foreground image of the signature appearance. JPEG and PNG images are supported. This property is optional but must be present if the appearance.foreground_image.file property is not. |
|
signature_field.appearance.signature_details |
Information on the signature details displayed as text in its appearance. This property is optional. Its value is represented in JSON as explained in parameters.signature_field.appearance.signature_details property. |
|
policy_identifier |
Information on the signature policy. This property is required if the signature type specified (type property) is "pades-epes“ and must be omitted otherwise. |
|
policy_identifier.policy_id.oid |
OID that identifies the signature policy. |
|
policy_identifier.policy_hash |
Information on the hash of the signature policy. |
|
policy_identifier.policy_hash.digest_algorithm_identifier.id |
Algorithm for calculating the hash of the signature policy. This property can take the following values: "sha1", "sha256", "sha384" or "sha512". |
|
policy_identifier.policy_hash.digest_value |
Hash of the signature policy. |
|
policy_identifier.policy_qualifiers[] |
Qualifiers of the signature policy. |
|
policy_identifier.policy_qualifiers[].type |
Type of one of the qualifiers of the signature policy. This property always takes the "spuri" value. |
|
policy_identifier.policy_qualifiers[].uri |
URI of the signature policy. |
|
commitments[] |
Signer commitments. This property is optional if the signature type specified (type property) is "pades-epes“ and must be omitted otherwise. |
|
commitments[].type |
Type of one of the signer's commitments.
|
|
commitments[].oid |
OID identifying a signer commitment. This property is optional and only used by the "custom" type commitments. |
|
roles.claimed[] |
This property is optional and contains the roles that the signer claims to have. It must be included in the signed attributes of the signature. |
|
signed_attributes[] |
This property is optional and contains information on the additional signed attributes that must be put in the signature. |
|
signed_attributes[].type |
This property can only take the "custom" value. It specifies the additional signed attribute type that must be put in the signature. |
|
signed_attributes[].oid |
OID that identifies the type of one of the signed attributes that must be put in the signature. |
|
signed_attributes[].encoded |
Value of one of signed attributes that must be put in the signature. |
|
unsigned_attributes[] |
This property is optional and contains information on the unsigned attributes that must be put in the signature. |
|
unsigned_attributes[].type |
This property can only take the "custom" value. It specifies the unsigned attribute type that must be put in the signature. |
|
unsigned_attributes[].oid |
OID that identifies the type of one of the unsigned attributes that must be put in the signature. |
|
unsigned_attributes[].encoded |
Value of one of the unsigned attributes that must be put in the signature. |
The parameters.signature_field.appearance.signature_details Property
The parameters.signature_field.appearance.signature_details property is represented in JSON as follows:
{ "font" : { "name" : {string}, "size" : {number}, "style" : {string}, "color" : { "r" : {number}, "g" : {number}, "b" : {number} }, "encoding" : {string}, "embed" : boolean }, "details" : [ { "type" : {string}, "title" : {string}, "timezone" : {string}, "format" : {string}, "value" : {string} } ], "text_direction" : {string}}|
Property |
Description |
|
font |
Information on the font used for the text of the signature details displayed in the signature appearance. This property is optional. |
|
font.name |
Postscript name of the font used for the text of the signature details displayed in the signature appearance. If the TRIDENT does not have this font when generating the signature corresponding to this definition, it will use the most similar one it has. This property is optional. |
|
font.size |
Size of the font used for the text of the signature details displayed in the signature appearance. This property is optional. |
|
font.style |
Style of the font ("normal", "bold", "italic") used for the text of the signature details displayed in the signature appearance. This property is optional. |
|
font.color |
Color used for the font of the signature details displayed in the signature appearance. This property is optional. |
|
font.color.r |
Red level used for the text of the signature details displayed in the signature appearance (0-255). |
|
font.color.g |
Green level used for the text of the signature details displayed in the signature appearance (0-255). |
|
font.color.b |
Blue level for the text of the signature details displayed in the signature appearance (0-255). |
|
details[] |
Signature details displayed as text in its appearance. This property is optional. |
|
details[].type |
Signature detail type displayed as text in the signature appearance.
|
|
details[].title |
Title that precedes a detail of the signature displayed as text in its appearance. This property is optional. |
|
details[].timezone |
Time zone ("GMT", "Europe/Madrid", "America/Caracas", etc.) displayed as a detail of the signature in its appearance. This property is optional and can only have a "date" type detail. |
|
details[].format |
Format of the date that is displayed as a detail of the signature in its appearance. This format's syntax is the one used by the java.text.SimpleDateFormat Java API class. This property is optional, its default value is yyyy.MM.dd hh:mm:ss XXX, and can only have a "date" type detail. |
|
details[].value |
Arbitrary text displayed as a detail of the signature in its appearance. This property is optional and can only have a "text" type detail. |
|
text_direction |
Text direction in the appearance of the signature. This property is optional and can have the following values:
|
Parameters Property (Enveloped XMLDSig/XAdES Signatures)
The parameters property is represented in JSON as follows:
{ "type" : {string}, "certificate" : {string}, "chain_certificates": [{string}], "default_digest_algorithm" : {string}, "signature_target" : { "type" : "document", "signature_packaging" : "enveloped", "nodes_to_sign" : [ { "type" : "document_reference", "xpath" : "/", "uri_type": {string} } ], "signature_placement" : { "type" : {string}, "xpath" : {string} }, "enveloped_transform" : {string} }, "include_data_object_format" : {boolean}, "default_c14n_method" : {string}, "policy_identifier" : { "policy_id" : { "identifier" : { "uri" : {string}, "qualifier" : {string} }, "description" : {string}, "documentation_references" : [ { "uri" : {string} } ] }, "policy_hash" : { "digest_algorithm_identifier" : { "id" : {string} }, "digest_value" : {string} }, "policy_qualifiers" : [ { "type" : "spuri", "uri" : {string} } ] } "commitments" : [ { "type" : "{string}, "uri" : {string} } ], "location" : { "city" : {string}, "street_address" : {string}, "state_or_province" : {string}, "postal_code" : {string}, "country_name" : {string} } "roles" : { "claimed" : [{string}] } }|
Property |
Description |
|
type |
Type of XML signature.
|
|
certificate |
Signer's certificate encoded in base64. This property is optional although it is required to execute the obtain the hash of the document in accordance with a signature definition operation when the value of the property type is "xades-bes" "xades-epes" or "xades_baseline" . |
|
chain_certificates[] |
The signer's certificate chain encoded in base64, and non-including the root certificate. |
|
default_digest_algorithm |
Hash algorithm that must be used for obtaining the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value. |
|
signature_target |
Information on the data to be signed, the relative location of the signature with regard to this data. |
|
signature_target.type |
This property is optional and can only take the "document" value (i.e., the default value). |
|
signature_target.signature_packaging |
Relative position of the signature with respect to the data being signed. Always has the "enveloped" value (the signature is contained in the signed XML document). |
|
signature_target.nodes_to_sign[] |
This property is optional and contains information on the XML document to which the signature definition is applied (the array has only one element). |
|
signature_target.nodes_to_sign[].type |
Type of reference to the data to be signed. This property can only take the "document_reference" value (the data is a node of the XML document to which the signature definition is applied; specifically, the node whose path is specified by the signature_target.nodes_to_sign[].xpath property). |
|
signature_target.nodes_to_sign[].xpath |
XPath 2.0 expression that describes the path of the element being signed that forms part of document to which the signature definition is being applied. Currently the XPath path can only correspond to the root node of the XML document to which the signature definition is applied. I.e., the XPath path can only be "/". |
|
signature_target.nodes_to_sign[].uri_type |
Type of URI used in the signature for referencing the data being signed. This property is optional and can take the following values:
|
|
signature_target.signature_placement |
Information on the position of the signature (in the <ds:Signature> element) in the document to which the signature definition is applied. This property is optional. The "last_child_of" of the "/" root node is the default position. |
|
signature_target.signature_placement.xpath |
XPath 2.0 expression that describes (along with the signature_target.signature_placement.type parameter) the path of the signature in the document to which the signature definition is applied. |
|
signature_target.signature_placement.type |
Placement of the node containing the signature (<ds:Signature> element) with respect to the path indicated by signature_target.signature_placement.xpath.
|
|
signature_target.enveloped_transform |
Transformation that must be made to the XML document to which the signature definition is applied to obtain the value whose hash is put in the signature.
This property is optional. Its default value is single_signature. Note
If you plan to include more signatures in the document that will contain the signature (e.g., if you want to add a detached countersignature later on), specify the multiple_signatures value. Otherwise, subsequent signatures will invalidate the first signature (all verifications of the signature will state that it is invalid). |
|
include_data_object_format |
This property is optional and indicates (true, false) whether the format of the signed data (DataObjectFormat) must be included in the qualifying properties that are protected (signed) by the signature, through the corresponding element ds:Signature/ds: SignedInfo/ds:Reference. Default value is false and the format indicated when the value is true is text/xml. |
|
default_c14n_method |
Canonicalization algorithm used:
This property is optional and its default value is excC14n. |
|
policy_identifier |
Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is only present (and in this case required) if the type property indicates the "xades-epes" signature type. Information on the signature policy is included in the signature by inserting a SignaturePolicyIdentifier element in the signature's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
policy_identifier.policy_id.identifier.uri |
URI of the signature policy. |
|
policy_identifier.policy_id.identifier.qualifier |
URI type of the signature policy when this URI is built using an OID. The following values are supported:
This property is optional. |
|
policy_identifier.policy_id.description |
Description of the policy. This property is optional. |
|
policy_identifier.policy_id.documentation_references[] |
Documents with additional information on the policy. This property is optional. |
|
policy_identifier.policy_id.documentation_references[].uri |
URI of a document with additional information on the policy. |
|
policy_identifier.policy_hash |
Information on the hash of the signature policy. |
|
policy_identifier.policy_hash.digest_algorithm_identifier.id |
Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512". |
|
policy_identifier.policy_hash.digest_value |
Hash of the signature policy. |
|
policy_identifier.policy_qualifiers[] |
Qualifiers of the signature policy. This property is optional. |
|
policy_identifier.policy_qualifiers[].type |
Type of one of the qualifiers of the signature policy. This property always takes the "spuri" value. |
|
policy_identifier.policy_qualifiers[].uri |
URI of one of the qualifiers of the signature policy. |
|
commitments[] |
Commitments of the signer (CommitmentTypeIndication) that must be included in the signed data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
commitments[].type |
A commitment of the signer. The following values are supported:
|
|
commitments[].uri |
URI of one of the signer's commitments. This property is only present if the value of the commitments[].type property is "custom". |
|
location |
Place where the signature was made (SignatureProductionPlace for xades-bes and xades-epes and SignatureProductionPlacev2 for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
location.city |
This property is optional and contains the city where the signature was made. |
|
location.street_address |
This property is optional. It can only be present if the value of the type property is "xades-baseline" and contains the address (street and number) where the signature is made. |
|
location.state_or_province |
This property is optional and contains the province or state where the signature is made. |
|
location.postal_code |
This property is optional and contains the postcode where the signature is made. |
|
location.country_name |
This property is optional and contains the country where the signature is made. |
|
roles.claimed[] |
Roles the signer claims to have (SignerRole/ClaimedRoles for xades-bes and xades-epes and SignerRolev2/ClaimedRoles for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
parameters Property (Internally Detached XMLDSig/XAdES Signatures)
The parameters property is represented in JSON as follows:
{ "type" : {string}, "certificate" : {string}, "chain_certificates": [{string}], "default_digest_algorithm" : {string}, "signature_target" : { "type" : "document", "signature_packaging" : "detached", "nodes_to_sign" : [ { "type" : "document_reference", "xpath" : {string} } ], "signature_placement" : { "type" : "{string}", "xpath" : {string} } }, "include_data_object_format" : {boolean}, "default_c14n_method" : {string}, "policy_identifier" : { "policy_id" : { "identifier" : { "uri" : {string}, "qualifier" : {string} }, "description" : {string}, "documentation_references" : [ { "uri" : {string} } ] }, "policy_hash" : { "digest_algorithm_identifier" : { "id" : {string} }, "digest_value" : {string} }, "policy_qualifiers" : [ { "type" : "spuri", "uri" : {string} } ] } "commitments" : [ { "type" : "{string}, "uri" : {string} } ], "location" : { "city" : {string}, "street_address" : {string}, "state_or_province" : {string}, "postal_code" : {string}, "country_name" : {string} } "roles" : { "claimed" : [{string}] } }|
Property |
Description |
|
type |
Type of XML signature.
|
|
certificate |
Signer's certificate encoded in base64. This property is optional although it is required to execute the obtain the hash of the document in accordance with a signature definition operation when the value of the property type is "xades-bes" "xades-epes" or "xades_baseline". |
|
chain_certificates[] |
The signer's certificate chain encoded in base64, and non-including the root certificate. |
|
default_digest_algorithm |
Hash algorithm that must be used for obtaining the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value. |
|
signature_target |
Information on the data to be signed, the relative location of the signature with regard to this data. |
|
signature_target.type |
Indicates if the signature is a countersignature. This property is optional and can only take the "document" value (i.e., the default value). |
|
signature_target.signature_packaging |
Relative position of the signature with respect to the data being signed. Always takes the "detached" value (the signature is separated from the data being signed). |
|
signature_target.nodes_to_sign[] |
This property contains information on the elements being signed of the document to which the signature definition is applied. The array can have information from multiple data elements. |
|
signature_target.nodes_to_sign[].type |
Type of reference to one of the elements to be signed. This property can only take the "document_reference" value (the element is a node of the XML document to which the signature definition is applied; specifically, the node whose path is specified by the signature_target.nodes_to_sign[].xpath property). |
|
signature_target.nodes_to_sign[].xpath |
XPath 2.0 expression that describes the path of one of the elements being signed and that forms part of the document to which the signature definition is applied. Currently, the XPath path can only correspond to a node of the document that has the Id. attribute. |
|
signature_target.signature_placement |
Information on the position of the signature (in the <ds:Signature> element) in the document to which the signature definition is applied. |
|
signature_target.signature_placement.xpath |
XPath 2.0 expression that describes (along with the signature_target.signature_placement.type parameter) the path of the signature in the document to which the signature definition is applied. |
|
signature_target.signature_placement.type |
Placement of the node containing the signature (<ds:Signature> element) with respect to the path indicated by signature_target.signature_placement.xpath.
|
|
include_data_object_format |
This property is optional and specifies (true, false) if the format of the signed data (DataObjectFormat) must be included in this data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. The default value is false and the format specified when the value is true is text/xml. |
|
default_c14n_method |
Canonicalization algorithm used:
This property is optional and its default value is excC14n. |
|
policy_identifier |
Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is only present (and in this case required) if the type property indicates "xades-epes" signature type. Information on the signature policy is included in the signature by inserting a SignaturePolicyIdentifier element in the signature's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
policy_identifier.policy_id.identifier.uri |
URI of the signature policy. |
|
policy_identifier.policy_id.identifier.qualifier |
URI type of the signature policy when this URI is built using an OID. The following values are supported:
This property is optional. |
|
policy_identifier.policy_id.description |
Description of the policy. This property is optional. |
|
policy_identifier.policy_id.documentation_references[] |
Documents with additional information on the policy. This property is optional. |
|
policy_identifier.policy_id.documentation_references[].uri |
URI of a document with additional information on the policy. |
|
policy_identifier.policy_hash |
Information on the hash of the signature policy. |
|
policy_identifier.policy_hash.digest_algorithm_identifier.id |
Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512". |
|
policy_identifier.policy_hash.digest_value |
Hash of the signature policy. |
|
policy_identifier.policy_qualifiers[] |
Qualifiers of the signature policy. This property is optional. |
|
policy_identifier.policy_qualifiers[].type |
Type of one of the qualifiers of the signature policy. This property always takes the "spuri" value. |
|
policy_identifier.policy_qualifiers[].uri |
URI of one of the qualifiers of the signature |
|
commitments[] |
Commitments of the signer (CommitmentTypeIndication) that must be included in the signed data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
commitments[].type |
A commitment of the signer. The following values are supported:
|
|
commitments[].uri |
URI of one of the signer's commitments. This property is only present if the value of the commitments[].type property is "custom". |
|
location |
Place where the signature was made (SignatureProductionPlace for xades-bes and xades-epes and SignatureProductionPlacev2 for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
location.city |
This property is optional and contains the city where the signature was made. |
|
location.street_address |
This property is optional. It can only be present if the value of the type property is "xades-baseline" and contains the address (street and number) where the signature is made. |
|
location.state_or_province |
This property is optional and contains the province or state where the signature is made. |
|
location.postal_code |
This property is optional and contains the postcode where the signature is made. |
|
location.country_name |
This property is optional and contains the country where the signature is made. |
|
roles.claimed[] |
Roles the signer claims to have (SignerRole/ClaimedRoles for xades-bes and xades-epes and SignerRolev2/ClaimedRoles for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
Parameters Property (Externally Detached XMLDSig/XAdES Signatures)
The parameters property is represented in JSON as follows:
{ "type" : {string}, "certificate" : {string}, "chain_certificates": [{string}], "default_digest_algorithm" : {string}, "signature_target" : { "type" : "document", "signature_packaging" : "detached", "nodes_to_sign" : [ { "type" : "raw_reference", "uri" : {string} } ] }, "include_data_object_format" : {boolean}, "policy_identifier" : { "policy_id" : { "identifier" : { "uri" : {string}, "qualifier" : {string} }, "description" : {string}, "documentation_references" : [ { "uri" : {string} } ] }, "policy_hash" : { "digest_algorithm_identifier" : { "id" : {string} }, "digest_value" : {string} }, "policy_qualifiers" : [ { "type" : "spuri", "uri" : {string} } ] } "commitments" : [ { "type" : "{string}, "uri" : {string} } ], "location" : { "city" : {string}, "street_address" : {string}, "state_or_province" : {string}, "postal_code" : {string}, "country_name" : {string} } "roles" : { "claimed" : [{string}] } }|
Property |
Description |
|
type |
Type of XML signature.
|
|
certificate |
Signer's certificate encoded in base64. This property is optional although it is required to execute the obtain the hash of the document in accordance with a signature definition operation when the value of the property type is "xades-bes" "xades-epes" or "xades_baseline" . |
|
chain_certificates[] |
The signer's certificate chain encoded in base64, and non-including the root certificate. |
|
default_digest_algorithm |
Hash algorithm that must be used for obtaining the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value. |
|
signature_target |
Information on the data to be signed, the relative location of the signature with regard to this data. |
|
signature_target.type |
Indicates if the signature is a countersignature. This property is optional and can only take the "document" value (i.e., the default value). |
|
signature_target.signature_packaging |
Relative position of the signature with respect to the data being signed. Always takes the "detached" value (the signature is separated from the data being signed). |
|
signature_target.nodes_to_sign[] |
This property is optional and contains information on the document (of any type) to which the signature definition is applied (the array only has one element). |
|
signature_target.nodes_to_sign[].type |
Reference type of data to be signed. This property is optional and can only take the "raw_reference" value (the data is in the document, of any type, to which the signature definition is applied). |
|
signature_target.nodes_to_sign[].uri |
URI of data to be signed that must appear in the signature. This parameter is optional and its default value is "file:///<docname>", where <docname> is the name of the document to which the signature definition is applied. This is the name given to the document part of the multipart message for creating the document signature process or the document resource itself). |
|
include_data_object_format |
This property is optional and specifies (true, false) if the format of the signed data (DataObjectFormat) must be included in this data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. The default value is false and the format specified when the value is true is the format sent in the HTTP Content-Type header when the create a document signature process or the create a document and signature definitions resource operation is invoked to upload the document on which the signature definition is applied. |
|
policy_identifier |
Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is only present (and in this case required) if the type property indicates "xades-epes" signature type. Information on the signature policy is included in the signature by inserting a SignaturePolicyIdentifier element in the signature's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
policy_identifier.policy_id.identifier.uri |
URI of the signature policy. |
|
policy_identifier.policy_id.identifier.qualifier |
URI type of the signature policy when this URI is built using an OID. The following values are supported:
This property is optional. |
|
policy_identifier.policy_id.description |
Description of the policy. This property is optional. |
|
policy_identifier.policy_id.documentation_references[] |
Documents with additional information on the policy. This property is optional. |
|
policy_identifier.policy_id.documentation_references[].uri |
URI of a document with additional information on the policy. |
|
policy_identifier.policy_hash |
Information on the hash of the signature policy. |
|
policy_identifier.policy_hash.digest_algorithm_identifier.id |
Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512". |
|
policy_identifier.policy_hash.digest_value |
Hash of the signature policy. |
|
policy_identifier.policy_qualifiers[] |
Qualifiers of the signature policy. This property is optional. |
|
policy_identifier.policy_qualifiers[].type |
Type of one of the qualifiers of the signature policy. This property always takes the "spuri" value. |
|
policy_identifier.policy_qualifiers[].uri |
URI of one of the qualifiers of the signature policy. |
|
commitments[] |
Commitments of the signer (CommitmentTypeIndication) that must be included in the signed data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
commitments[].type |
A commitment of the signer. The following values are supported:
|
|
location |
Place where the signature was made (SignatureProductionPlace for xades-bes and xades-epes and SignatureProductionPlacev2 for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
location.city |
This property is optional and contains the city where the signature was made. |
|
location.street_address |
This property is optional. It can only be present if the value of the type property is "xades-baseline" and contains the address (street and number) where the signature is made. |
|
location.state_or_province |
This property is optional and contains the province or state where the signature is made. |
|
location.postal_code |
This property is optional and contains the postcode where the signature is made. |
|
location.country_name |
This property is optional and contains the country where the signature is made. |
|
roles.claimed[] |
Roles the signer claims to have (SignerRole/ClaimedRoles for xades-bes and xades-epes and SignerRolev2/ClaimedRoles for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
Parameters Property (Externally Detached XMLDSig/XAdES Signatures from hashes)
The parameters property is represented in JSON as follows:
{ "type" : {string}, "certificate": {string}, "chain_certificates": [{string}], "default_digest_algorithm" : {string}, "signature_target" : { "type" : "document", "signature_packaging" : "detached", "nodes_to_sign" : [ { "type" : "external_reference", "uri" : {string}, "reference_type" : {string}, "digest_algorithm" : {string}, "digest_value" : {string}, "transforms" : [ { "type" : "c14n", "method" : {string} } ] } ] }, "policy_identifier" : { "policy_id" : { "identifier" : { "uri" : {string}, "qualifier" : {string} }, "description" : {string}, "documentation_references" : [ { "uri" : {string} } ] }, "policy_hash" : { "digest_algorithm_identifier" : { "id" : {string} }, "digest_value" : {string} }, "policy_qualifiers" : [ { "type" : "spuri", "uri" : {string} } ] } "commitments" : [ { "type" : "{string}, "uri" : {string} } ], "location" : { "city" : {string}, "street_address" : {string}, "state_or_province" : {string}, "postal_code" : {string}, "country_name" : {string} } "roles" : { "claimed" : [{string}] } }|
Property |
Description |
|
type |
Type of XML signature:
|
|
certificate |
Signer's certificate encoded in base64. This property is optional, although it is necessary for executing the obtain the hash of the document in accordance with a signature definition operation when the value of the type property is "xades-bes" "xades-epes" or "xades_baseline". |
|
chain_certificates[] |
The signer's certificate chain encoded in base64, and non-including the root certificate. |
|
default_digest_algorithm |
Hash algorithm that must be used for obtaining the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value. |
|
signature_target |
Information on the data to be signed, the relative location of the signature with regard to this data. |
|
signature_target.type |
Indicates if the signature is a countersignature. This property is optional and can only take the "document" value (i.e., the default value). |
|
signature_target.signature_packaging |
Relative position of the signature with respect to the data being signed. Always takes the "detached" value (the signature is separated from the data being signed). |
|
signature_target.nodes_to_sign[] |
This property contains information on the external data (of any type) to be signed. The array can have information from multiple data elements. |
|
signature_target.nodes_to_sign[].type |
Type of reference to one piece of the data to be signed. This property can only take the "external_reference" value (the data is external and not in the platform). This value is equivalent to saying "there is no reference" or that the reference is the hash of the data. |
|
signature_target.nodes_to_sign[].uri |
URI of one of the pieces of data to be signed that must appear in the signature. |
|
signature_target.nodes_to_sign[].digest_algorithm |
Algorithm used to obtain hash of one of the pieces of data to be signed. Its value can be "sha1", "sha256", "sha384" or "sha512". |
|
signature_target.nodes_to_sign[].digest_value |
Hash of one of the pieces of data to be signed. |
|
signature_target.nodes_to_sign[].reference_type |
This property is optional and contains information on the type of data signed, as defined by the XML-DSig standard (corresponding to the Type attribute of the <Reference> element of this standard). |
|
signature_target.nodes_to_sign[].transforms[] |
This property is optional and contains information on the transformations performed on the data signed prior to calculating its hash (the array only has one element). |
|
signature_target.nodes_to_sign[].transforms[].type |
This property is required and specifies the type of one of the transformations performed on the data signed prior to calculating its hash. Currently, only the c14n value is supported (only canonicalization transformations are supported). |
|
signature_target.nodes_to_sign[].transforms[].method |
This property is required and specifies the one of the transformations performed on the data signed prior to calculating its hash. (This property can take as its value all the canonicalization algorithms.)
|
|
policy_identifier |
Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is only present (and in this case required) if the type property indicates "xades-epes" signature type. Information on the signature policy is included in the signature by inserting a SignaturePolicyIdentifier element in the signature's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
policy_identifier.policy_id.identifier.uri |
URI of the signature policy. |
|
policy_identifier.policy_id.identifier.qualifier |
URI type of the signature policy when this URI is built using an OID. The following values are supported:
This property is optional. |
|
policy_identifier.policy_id.description |
Description of the policy. This property is optional. |
|
policy_identifier.policy_id.documentation_references[] |
Documents with additional information on the policy. This property is optional. |
|
policy_identifier.policy_id.documentation_references[].uri |
URI of a document with additional information on the policy. |
|
policy_identifier.policy_hash |
Information on the hash of the signature policy. |
|
policy_identifier.policy_hash.digest_algorithm_identifier.id |
Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512". |
|
policy_identifier.policy_hash.digest_value |
Hash of the signature policy. |
|
policy_identifier.policy_qualifiers[] |
Qualifiers of the signature policy. This property is optional. |
|
policy_identifier.policy_qualifiers[].type |
Type of one of the qualifiers of the signature policy. This property always takes the "spuri" value. |
|
policy_identifier.policy_qualifiers[].uri |
URI of one of the qualifiers of the signature policy. |
|
commitments[] |
Commitments of the signer (CommitmentTypeIndication) that must be included in the signed data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
commitments[].type |
A commitment of the signer. The following values are supported:
|
|
commitments[].uri |
URI of one of the signer's commitments. This property is only present if the value of the commitments[].type property is "custom". |
|
location |
Place where the signature was made (SignatureProductionPlace for xades-bes and xades-epes and SignatureProductionPlacev2 for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
location.city |
This property is optional and contains the city where the signature was made. |
|
location.street_address |
This property is optional. It can only be present if the value of the type property is "xades-baseline" and contains the address (street and number) where the signature is made. |
|
location.state_or_province |
This property is optional and contains the province or state where the signature is made. |
|
location.postal_code |
This property is optional and contains the postcode where the signature is made. |
|
location.country_name |
This property is optional and contains the country where the signature is made. |
|
roles.claimed[] |
Roles the signer claims to have (SignerRole/ClaimedRoles for xades-bes and xades-epes and SignerRolev2/ClaimedRoles for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
Parameters Property (Enveloping XMLDSig/XAdES Signatures)
The parameters property is represented in JSON as follows:
{ "type" : {string}, "certificate": {string}, "chain_certificates": [{string}], "default_digest_algorithm" : {string}, "signature_target" : { "type" : "document", "signature_packaging" : "enveloping" }, "include_data_object_format" : {boolean}, "policy_identifier" : { "policy_id" : { "identifier" : { "uri" : {string}, "qualifier" : {string} }, "description" : {string}, "documentation_references" : [ { "uri" : {string} } ] }, "policy_hash" : { "digest_algorithm_identifier" : { "id" : {string} }, "digest_value" : {string} }, "policy_qualifiers" : [ { "type" : "spuri", "uri" : {string} } ] } "commitments" : [ { "type" : {string}, "uri" : {string} } ], "location" : { "city" : {string}, "street_address" : {string}, "state_or_province" : {string}, "postal_code" : {string}, "country_name" : {string} } "roles" : { "claimed" : [{string}] } }|
Property |
Description |
|
type |
Type of XML signature:
|
|
certificate |
Signer's certificate encoded in base64. This property is optional, although it is necessary for executing the obtain the hash of the document in accordance with a signature definition operation when the value of the type property is "xades-bes" "xades-epes" or "xades_baseline". |
|
chain_certificates[] |
The signer's certificate chain encoded in base64, and non-including the root certificate. |
|
default_digest_algorithm |
Hash algorithm that must be used to obtain the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value. |
|
signature_target |
Information on the data to be signed, the relative location of the signature with regard to this data. |
|
signature_target.type |
Indicates if the signature is a countersignature. This property is optional and can only take the "document" value (i.e., the default value). |
|
signature_target.signature_packaging |
Relative position of the signature with respect to the data being signed. Always takes the "enveloping" value (the XML signature contains the data being signed). |
|
include_data_object_format |
This property is optional and specifies (true, false)if the format of the signed data (DataObjectFormat) must be included in this data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. The default value is false and the format specified when the value is true is the format sent in the HTTP Content-Type header when the create a document signature process or the create a document and signature definitions resource operation is invoked to upload the document on which the signature definition is applied. |
|
policy_identifier |
Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is only present (and in this case required) if the type property indicates the "xades-epes" signature type. Information on the signature policy is included in the signature by inserting a SignaturePolicyIdentifier element in the signature's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
policy_identifier.policy_id.identifier.uri |
URI of the signature policy. |
|
policy_identifier.policy_id.identifier.qualifier |
URI type of the signature policy when this URI is built using an OID. The following values are supported:
This property is optional. |
|
policy_identifier.policy_id.description |
Description of the policy. This property is optional. |
|
policy_identifier.policy_id.documentation_references[] |
Documents with additional information on the policy. This property is optional. |
|
policy_identifier.policy_id.documentation_references[].uri |
URI of a document with additional information on the policy. |
|
policy_identifier.policy_hash |
Information on the hash of the signature policy. |
|
policy_identifier.policy_hash.digest_algorithm_identifier.id |
Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512". |
|
policy_identifier.policy_hash.digest_value |
Hash of the signature policy. |
|
policy_identifier.policy_qualifiers[] |
Qualifiers of the signature policy. This property is optional. |
|
policy_identifier.policy_qualifiers[].type |
Type of one of the qualifiers of the signature policy. This property always takes the "spuri" value. |
|
policy_identifier.policy_qualifiers[].uri |
URI of one of the qualifiers of the signature policy. |
|
commitments[] |
Commitments of the signer (CommitmentTypeIndication) that must be included in the signed data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
commitments[].type |
A commitment of the signer. The following values are supported:
|
|
commitments[].uri |
URI of one of the signer's commitments. This property is only present if the value of the commitments[].type property is "custom". |
|
location |
Place where the signature was made (SignatureProductionPlace for xades-bes and xades-epes and SignatureProductionPlacev2 for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
location.city |
This property is optional and contains the city where the signature was made. |
|
location.street_address |
This property is optional. It can only be present if the value of the type property is "xades-baseline" and contains the address (street and number) where the signature is made. |
|
location.state_or_province |
This property is optional and contains the province or state where the signature is made. |
|
location.postal_code |
This property is optional and contains the postcode where the signature is made. |
|
location.country_name |
This property is optional and contains the country where the signature is made. |
|
roles.claimed[] |
Roles the signer claims to have (SignerRole/ClaimedRoles for xades-bes and xades-epes and SignerRolev2/ClaimedRoles for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
Parameters Property (XMLDSig/XAdES Signatures of a Manifest)
The parameters property is represented in JSON as follows:
{ "type" : {string}, "certificate" : {string}, "chain_certificates": [{string}], "default_digest_algorithm": {string}, "signature_target": { "type": "document", "signature_packaging": "enveloping", "nodes_to_sign": [ { "type": "manifest", "references": [ { "uri": {string}, "digest_algorithm": {string}, "digest_value": {string}, "transforms": [ { "type": "c14n", "method": {string}, } ] } ] } ] } }|
Property |
Description |
|
type |
Type of XML signature:
|
|
certificate |
Signer's certificate encoded in base64. This property is optional, although it is necessary when the value of the type property is "xades-bes", "xades-epes", or "xades_baseline". |
|
chain_certificates[] |
The signer's certificate chain encoded in base64, and non-including the root certificate. |
|
default_digest_algorithm |
Hash algorithm that must be used for obtaining the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value. |
|
signature_target |
Information on the data to be signed, and the relative location of the signature with regard to this data. |
|
signature_target.type |
Indicates if the signature is a countersignature. This property is optional and can only take the "document" value (i.e., the default value). |
|
signature_target.signature_packaging |
Relative position of the signature with respect to the data being signed. Always takes the "enveloping" value (The XML signature contains the Manifest element which is signed). |
|
signature_target.nodes_to_sign[] |
This property contains information on the data to be signed. The array can only have information regarding a single piece of data (the manifest). |
|
signature_target.nodes_to_sign[0].type |
This property can only take the "manifest" value. |
|
signature_target.nodes_to_sign[0].references[] |
Information on the data to be signed by including it in the Manifest element. |
|
signature_target.nodes_to_sign[0].references[].uri |
URI of one piece of data to be signed by including it in the Manifest element. |
|
signature_target.nodes_to_sign[0].references[].digest_algorithm |
Algorithm used to obtain the hash of one piece of data to be signed by including it in the Manifest element. Its value can be "sha1", "sha256", "sha384" or "sha512". |
|
signature_target.nodes_to_sign[0].references[].digest_value |
Hash of one piece of data to be signed by including it in the Manifest element. |
|
signature_target.nodes_to_sign[0].references[].transforms[] |
This property is optional and contains information on the transformations performed on one piece of data to be signed by including it in the Manifest element (the array can only hold one element). |
|
signature_target.nodes_to_sign[0].references[].transforms[0].type |
This property is required and specifies the type of one transformation performed on one piece of data to be signed by including it in the Manifest element before calculating its hash. Currently, only the c14n value is supported (only canonicalization transformations are supported). |
|
signature_target.nodes_to_sign[0].references[].transforms[0].method |
This property is required and specifies one of the transformations performed on one piece of data to be signed by including it in the Manifest element before calculating its hash. (This property can take as its value all the canonicalization algorithms.)
|
Parameters Property (XAdES Countersignatures)
The parameters property is represented in JSON as follows:
{ "type" : {string}, "certificate": {string}, "chain_certificates": [{string}], "default_digest_algorithm" : {string}, "signature_target" : { "type" : "signature", "signature_packaging" : {string}, "nodes_to_sign" : [ { "type" : "signature_reference", "xpath" : {string} } ], "signature_placement" : { "type" : {string}, "xpath" : {string} } }, "default_c14n_method" : {string}, "policy_identifier" : { "policy_id" : { "identifier" : { "uri" : {string}, "qualifier" : {string} }, "description" : {string}, "documentation_references" : [ { "uri" : {string} } ] }, "policy_hash" : { "digest_algorithm_identifier" : { "id" : {string} }, "digest_value" : {string} }, "policy_qualifiers" : [ { "type" : "spuri", "uri" : {string} } ] } "commitments" : [ { "type" : {string}, "uri" : {string} } ], "location" : { "city" : {string}, "street_address" : {string}, "state_or_province" : {string}, "postal_code" : {string}, "country_name" : {string} } "roles" : { "claimed" : [{string}] } }|
Property |
Description |
|
type |
Type of XML signature:
|
|
certificate |
Signer's certificate encoded in base64. This property is optional, although it is necessary for executing the obtain the hash of the document in accordance with a signature definition operation when the value of the type property is "xades-bes" "xades-epes" or "xades_baseline". |
|
chain_certificates[] |
The signer's certificate chain encoded in base64, and non-including the root certificate. |
|
default_digest_algorithm |
Hash algorithm that must be used to obtain the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value. |
|
signature_target |
Information on the signature to be countersigned and the relative location of the signature with regard to this data. |
|
signature_target.type |
This property can only have the "signature" value. It specifies that the data to be signed corresponds to a signature to be countersigned. |
|
signature_target.signature_packaging |
Location of the countersignature with respect to the signature to be countersigned.
|
|
signature_target.nodes_to_sign[] |
This optional property contains information on the signature or signatures to be countersigned.
|
|
signature_target.nodes_to_sign[].type |
Type of reference to the signature to be countersigned. This property can only take the "signature_reference" value. |
|
signature_target.nodes_to_sign[].xpath |
XPath 2.0 expression that describes the path of the signatures to be countersigned (one in the "enveloped" case, any number in the "detached" case). The expression must be resolved in one or more Signature elements (and not in one or more SignatureValue elements), and these elements must have the Id attribute. |
|
signature_target.signature_placement |
This property can only be present if the signature definition corresponds to a detached countersignature, in which case it is optional. It contains information on the position of the counter (in the <ds:Signature> element) in the document to which the signature definition is applied. If not included, when the signature provider performs the countersignature based on the signature definition, it returns only the countersignature in question, analogously or however externally detached signatures are performed. |
|
signature_target.signature_placement.xpath |
XPath 2.0 expression that describes (along with the signature_target.signature_placement.type parameter) the path of the countersignature in the document to which the signature definition is applied. |
|
signature_target.signature_placement.type |
Placement of the node containing the signature (<ds:Signature> element) with respect to the path indicated by signature_target.signature_placement.xpath.
|
|
default_c14n_method |
Canonicalization algorithm used:
This property is optional and its default value is excC14n. |
|
policy_identifier |
Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is only present (and in this case required) if the type property indicates the "xades-epes" signature type. Information on the signature policy is included in the signature by inserting a SignaturePolicyIdentifier element in the signature's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
policy_identifier.policy_id.identifier.uri |
URI of the signature policy. |
|
policy_identifier.policy_id.identifier.qualifier |
URI type of the signature policy when this URI is built using an OID. The following values are supported:
This property is optional. |
|
policy_identifier.policy_id.description |
Description of the policy. This property is optional. |
|
policy_identifier.policy_id.documentation_references[] |
Documents with additional information on the policy. This property is optional. |
|
policy_identifier.policy_id.documentation_references[].uri |
URI of a document with additional information on the policy. |
|
policy_identifier.policy_hash |
Information on the hash of the signature policy. |
|
policy_identifier.policy_hash.digest_algorithm_identifier.id |
Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512". |
|
policy_identifier.policy_hash.digest_value |
Hash of the signature policy. |
|
policy_identifier.policy_qualifiers[] |
Qualifiers of the signature policy. This property is optional. |
|
policy_identifier.policy_qualifiers[].type |
Type of one of the qualifiers of the signature policy. This property always takes the "spuri" value. |
|
policy_identifier.policy_qualifiers[].uri |
URI of one of the qualifiers of the signature policy. |
|
commitments[] |
Commitments of the signer (CommitmentTypeIndication) that must be included in the signed data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
commitments[].type |
A commitment of the signer. The following values are supported:
|
|
commitments[].uri |
URI of one of the signer's commitments. This property is only present if the value of the commitments[].type property is "custom". |
|
location |
Place where the signature was made (SignatureProductionPlace for xades-bes and xades-epes and SignatureProductionPlacev2 for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
|
location.city |
This property is optional and contains the city where the signature was made. |
|
location.street_address |
This property is optional. It can only be present if the value of the type property is "xades-baseline" and contains the address (street and number) where the signature is made. |
|
location.state_or_province |
This property is optional and contains the province or state where the signature is made. |
|
location.postal_code |
This property is optional and contains the postcode where the signature is made. |
|
location.country_name |
This property is optional and contains the country where the signature is made. |
|
roles.claimed[] |
Roles the signer claims to have (SignerRole/ClaimedRoles for xades-bes and xades-epes and SignerRolev2/ClaimedRoles for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. |
Parameters Property (CMS/CAdES Signatures)
The parameters property is represented in JSON as follows:
{ "type" : {string}, "certificate": {string}, "chain_certificates": [{string}], "default_digest_algorithm" : {string}, "signature_target" : { "type" : "document", "signature_packaging" : {string} }, "policy_identifier" : { "policy_id" : { "oid" : {string} }, "policy_hash" : { "digest_algorithm_identifier" : { "id" : {string} }, "digest_value" : {string} } }, "mime-type" : {string}, "commitments" : [ { "type" : {string} } ], "location" : { "country_name" : {string}, "locality_name" : {string}, "postal_address" : {string} } "roles" : { "claimed" : [{string}] }, "signed_attributes" : [ { "type" : {string}, "oid" : {string}, "encoded" : {string} } ], "unsigned_attributes" : [ { "type" : {string}, "oid" : {string}, "encoded" : {string} } ] "content_hints" : [ { "content_type" : { "oid" : {string} }, "content_description" : {string} } ]}|
Property |
Description |
|
type |
Type of CMS signature:
|
|
certificate |
Signer's certificate encoded in base64. This property is optional, although it is necessary for executing the obtain the hash of the document in accordance with a signature definition operation when the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". |
|
chain_certificates[] |
The signer's certificate chain encoded in base64, and non-including the root certificate. |
|
default_digest_algorithm |
Hash algorithm that must be used to obtain the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value. |
|
signature_target |
This property is optional and contains information on the relative position of the signature with regard to the data to be signed. |
|
signature_target.type |
This property is optional and can only take the "document" value (i.e., the default value). |
|
signature_target.signature_packaging |
Relative position of the signature with respect to the data being signed. This property is optional. It supports the following values: "detached" or "enveloping" (attached). "detached" is the default value. |
|
policy_identifier |
Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is required if the signature type specified by the type property is "cades-epes". It is optional if the signature type is "cades-baseline". It cannot be present if the signature type is "cms" or "cades-bes". |
|
policy_identifier.policy_id.oid |
OID of the signature policy. |
|
policy_identifier.policy_hash.digest_algorithm_identifier.id |
Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512". |
|
policy_identifier.policy_hash.digest_value |
Hash of the signature policy. |
|
mime-type |
MIME type of the signed data. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms". |
|
commitments[] |
Commitments of the signer that must be included in the signed attributes of the signature. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms". |
|
commitments[].type |
A commitment of the signer. The following values are supported:
|
|
commitments[].oid |
OID identifying a signer commitment. This property is optional and only used by the "custom" type commitments. |
|
location |
Information on the location where the signature was made that must include the signed attributes of the signature. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms". |
location.country_name |
This property is optional and contains the country where the signature is made. |
|
location.locality_name |
This property is optional and contains the locality where the signature was made. |
|
location.postal_address |
This property is optional and contains the postal address where the signature is made. |
|
roles.claimed[] |
Roles that the signer claims to have — must be included in the signed attributes of the signature. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms". |
|
signed_attributes[] |
This property is optional and contains information on the additional signed attributes that must be put in the signature. |
|
signed_attributes[].type |
This property can only take the "custom" value. It specifies the additional signed attribute type that must be put in the signature. |
|
signed_attributes[].oid |
OID that identifies the type of one of the signed attributes that must be put in the signature. |
|
signed_attributes[].encoded |
Value of one of signed attributes that must be put in the signature. |
|
unsigned_attributes[] |
This property is optional and contains information on the unsigned attributes that must be put in the signature. |
|
unsigned_attributes[].type |
This property can only take the "custom" value. It specifies the unsigned attribute type that must be put in the signature. |
|
unsigned_attributes[].oid |
OID that identifies the type of one of the unsigned attributes that must be put in the signature. |
|
unsigned_attributes[].encoded |
Value of one of the unsigned attributes that must be put in the signature. |
|
content_hints[] |
Information on the content encapsulated by the data being signed. For example, if the encryption of data is being signed, it can contain information on the encrypted data. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms". |
|
content_hints[].content_type.oid |
OID that identifies the content type encapsulating the data to be signed. |
|
content_hints[].content_description |
Text description of the content encapsulated by the data to be signed. |
Parameters Property (CMS/CAdES Countersignatures)
The parameters property is represented in JSON as follows:
{ "type" : {string}, "certificate": {string}, "chain_certificates": [{string}], "default_digest_algorithm" : {string}, "signature_target" : { "type" : "signature" }, "policy_identifier" : { "policy_id" : { "oid" : {string} }, "policy_hash" : { "digest_algorithm_identifier" : { "id" : {string} }, "digest_value" : {string} } }, "commitments" : [ { "type" : {string}, "oid" : {string} } "location" : { "country_name" : {string}, "locality_name" : {string}, "postal_address" : {string} } "roles" : { "claimed" : [{string}] }, "signed_attributes" : [ { "type" : {string}, "oid" : {string}, "encoded" : {string} } ], "unsigned_attributes" : [ { "type" : {string}, "oid" : {string}, "encoded" : {string} } ]}|
Property |
Description |
|
type |
Type of CMS signature:
|
|
certificate |
Signer's certificate encoded in base64. This property is optional, although it is necessary for executing the obtain the hash of the document in accordance with a signature definition operation when the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". |
|
chain_certificates[] |
The signer's certificate chain encoded in base64, and non-including the root certificate. |
|
default_digest_algorithm |
Hash algorithm that must be used to obtain the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value. |
|
signature_target.type |
This property can only have the "signature" value. It specifies that the data to be signed corresponds to a signature to be countersigned. This signature must always be in the CMS/CAdES structure that constitutes the content (content) of the document and signature definitions resource that the signature definition forms part of. This structure only supports the following possibilities (otherwise an error occurs):
|
|
policy_identifier |
Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is required if the signature type specified by the type property is "cades-epes". It is optional if the signature type is "cades-baseline". It cannot be present if the signature type is "cms" or "cades-bes". |
|
policy_identifier.policy_id.oid |
OID of the signature policy. |
|
policy_identifier.policy_hash.digest_algorithm_identifier.id |
Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512". |
|
policy_identifier.policy_hash.digest_value |
Hash of the signature policy. |
|
commitments[] |
Commitments of the signer that must be included in the signed attributes of the signature. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms". |
|
commitments[].type |
Type of one of the signer's commitments.
|
|
commitments[].oid |
OID identifying a signer commitment. This property is optional and only used by the "custom" type commitments. |
|
location |
Information on the location where the signature was made that must include the signed attributes of the signature. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms". |
|
location.country_name |
This property is optional and contains the country where the signature is made. |
|
location.locality_name |
This property is optional and contains the locality where the signature was made. |
|
location.postal_address |
This property is optional and contains the postal address where the signature is made. |
|
roles.claimed[] |
Roles that the signer claims to have — must be included in the signed attributes of the signature. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms". |
|
signed_attributes[] |
This property is optional and contains information on the additional signed attributes that must be put in the signature. |
|
signed_attributes[].type |
This property can only take the "custom" value. It specifies the additional signed attribute type that must be put in the signature. |
|
signed_attributes[].oid |
OID that identifies the type of one of the signed attributes that must be put in the signature. |
|
signed_attributes[].encoded |
Value of one of signed attributes that must be put in the signature. |
|
unsigned_attributes[] |
This property is optional and contains information on the unsigned attributes that must be put in the signature. |
|
unsigned_attributes[].type |
This property can only take the "custom" value. It specifies the unsigned attribute type that must be put in the signature. |
|
unsigned_attributes[].oid |
OID that identifies the type of one of the unsigned attributes that must be put in the signature. |
|
unsigned_attributes[].encoded |
Value of one of the unsigned attributes that must be put in the signature. |